package com.portalito.android.componente;

import com.portalito.android.R;
import com.portalito.android.dto.Producto;

import android.content.Context;
import android.view.LayoutInflater;
import android.widget.EditText;
import android.widget.TableRow;
import android.widget.TextView;

public class ProductoComponente extends TableRow {
	
	private EditText cantidadInput;
	private TextView productoNombre, cantidadTotal, cantidadRecibida;
	private Producto producto;
	
	public ProductoComponente(Producto producto, Context context) {
		super(context, null);
		
		setOrientation(VERTICAL);
		
		LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        inflater.inflate(R.layout.producto, this);
        
        cantidadInput = (EditText) findViewById(R.id.cantidadInput);
        productoNombre = (TextView) findViewById(R.id.productoNombre);
        cantidadRecibida = (TextView) findViewById(R.id.cantidadRecibida);
        cantidadTotal = (TextView) findViewById(R.id.cantidadTotal);
        
        this.producto = producto;
		productoNombre.setText(this.producto.getNombre());
		cantidadTotal.setText("Total: " + this.producto.getCantidadTotal());
		cantidadRecibida.setText("Recibidos: " + this.producto.getCantidadRecibida());
	}
	
	public boolean esValido() {
		if(producto.puedeRecibir(getCantidad())) {
			/*if(producto.recepcionCompleta() == false && getCantidad() == 0) {
				return false;
			}*/
			return true;
		}
		return false;
	}
	
	public Producto getProducto() {
		return producto;
	}
	
	public void actualizarEstado() {
		cantidadRecibida.setText("Recibidos: " + this.producto.getCantidadRecibida());
		cantidadInput.getEditableText().clear();
	}
	
	public double getCantidad() {
		String cantidad = cantidadInput.getText().toString();
		try {
			return Double.valueOf(cantidad);
		} catch(Exception exp) {
			return 0;
		}
	}
}
